Wykres TVP Wiadomości 14.03.2023, 19:30 - https://vod.tvp.pl/informacje-i-publicystyka,205/wiadomosci-odcinki,273726/odcinek-5918,S01E5918,392609

Weryfikacja problemu

Powyższy wykres pokazany został w głównym wydaniu Wiadomości w dniu 14.03.2023 o godzinie 19:30. Został on poprzedzony komentarzem “2 400 000 widzów… Nic dziwnego, że TVP1 i TVP2 nie mają sobie równych jeżeli chodzi o popularność wśród polaków”. Na tej wizualizacji na pierwszy rzut oka rzeczywiście można pomyśleć, że telewizja polska znacząco wyprzedza inne stacje jeśli chodzi o oglądalność.

Po bliższym spojrzeniu nie trudno zauważyć jednak, że słupki zaczynają się od wartości 7,00%. Cały zakres osi Y to zaledwie 1%, a więc nie wielkie różnice wyglądają na znaczące. W rzeczywistości różnica między pomiędzy udziałami na przykład TVP1 a TVN to około 0,45%.
Stworzę nowy wykres, aby zobaczyć jak w rzeczywistości różnią się udziały poszczególnych stacji.

Kod tworzący wykres

library(dplyr)
library(ggplot2)
library(scales)
library(png)

data <- data.frame(Nazwa_stacji = c("TVP2", "TVP1", "TVN", "Polsat"), Udział = c(7.88, 7.81, 7.4, 7.32))
TVP2 <- readPNG("tvp2.png") # replace with whatever
TVP1 <- readPNG("tvp1.png")
TVN<- readPNG("tvn.png")
Polsat <- readPNG("polsat.png")
labels = c(TVP2 = "<img src='tvp2.png' width='50' /><br>*TVP2*",
           TVP1 = "<img src='tvp1.png' width='50' /><br>*TVP1*",
           TVN = "<img src='tvn.png' width='40' /><br>*TVN*",
           Polsat = "<img src='polsat.png' width='40' /><br>*Polsat*")

data %>% 
  ggplot(aes(x = reorder(Nazwa_stacji, -Udział), y = Udział/100)) +
  geom_bar(stat = "identity", fill = "#1FCD17", color = "#33a02c") +
  labs(title = "Udziały 4 głównych stacji w marcu 2023",
       subtitle = "Udziały stacji (SHR%, widzowie 4+) wg. Nielsen")+
  scale_x_discrete(guide = guide_axis(title = "Stacje"))+
  theme(plot.background = element_rect(fill = "#3135D1", color = "#1b7837" ), 
        panel.background = element_rect(fill = "#3135D1"),
        plot.title = element_text(size = 15, colour = "#E3E8FC", face = "bold", hjust = 0.5),
        plot.subtitle = element_text(size = 12, colour = "#E3E8FC", face = "plain", hjust = 0.5),
        axis.title = element_text(size = 12, colour = "#E3E8FC", face = "bold"),
        axis.text = element_text(size = 10, colour = "#E3E8FC", face = "plain"),
        panel.grid.major.x = element_line(size = 0,
                                          linetype = 2),
        panel.grid.major.y = element_line(size = 0.5,
                                          linetype = 1,
                                          color = "#b2df8a"),
        axis.text.x = element_text(colour = "#3135D1"))+
  scale_y_continuous(labels = scales::percent, guide = guide_axis(title = "Udziały"))+
  scale_x_discrete(labels = labels) +
  theme(axis.text.x = ggtext::element_markdown())+
  xlab("Stacje")

Podsumowanie

Na stworzonym przeze mnie wykresie wszystkie słupki zaczynają się w wartości 0%. W tym przypadku wielkości słupków i zależności między nimi są jasno widoczne. Widać różicę w oglądalności poszczególnych kanałów, ale jest ona dużo mniejsza niż mółby sugerować oryginalny wykres. Niestety pokazanie takiego wykresu nie sprzyjałoby wizerunkowi stacji…